package CollUtil;


import cn.hutool.core.collection.CollUtil;
import java.util.ArrayList;
import java.util.List;

public class CollUtilTotalDemo {
    public static void main(String[] args) {
        // 1. 判断是否为空
        List<String> list1 = null;
        boolean isEmpty = CollUtil.isEmpty(list1); // true
        System.out.println("list1 为空: " + isEmpty);

        // 2. 判断是否非空
        List<String> list2 = new ArrayList<>();
        boolean isNotEmpty = CollUtil.isNotEmpty(list2); // false
        System.out.println("list2 非空: " + isNotEmpty);

        // 3. 集合是否包含某个元素
        List<String> list3 = CollUtil.newArrayList("a", "b", "c");
        boolean contains = CollUtil.contains(list3, "a"); // true
        System.out.println("list3 包含 'a': " + contains);

        // 4. 集合是否包含某些元素
        boolean containsAll = CollUtil.containsAll(list3, CollUtil.newArrayList("a", "b")); // true
        System.out.println("list3 包含 'a' 和 'b': " + containsAll);

        // 5. 两个集合的交集操作
        List<String> list4 = CollUtil.newArrayList("a", "b", "c");
        List<String> list5 = CollUtil.newArrayList("b", "c", "d");
        List<String> intersection = new ArrayList<>(CollUtil.intersection(list4, list5)); // ["b", "c"]
        System.out.println("list4 和 list5 的交集: " + intersection);

        // 6. 两个集合的并集操作
        List<String> union = new ArrayList<>(CollUtil.union(list4, list5)); // ["a", "b", "c", "d"]
        System.out.println("list4 和 list5 的并集: " + union);

        // 7. 两个集合的差集操作
        List<String> subtract = new ArrayList<>(CollUtil.subtract(list4, list5)); // ["a"]
        System.out.println("list4 和 list5 的差集: " + subtract);

        // 8. 集合转换为字符串，列表转为逗号分隔的字符串
        String join = CollUtil.join(list3, ", "); // "a, b, c"
        System.out.println("list3 转为字符串: " + join);
    }
}
